#ifndef __ASE_MODEL_H__
#define __ASE_MODEL_H__
#include "Math/LaborMathInclude.h"
#include "XMLParser/LaborXmlDocument.h"
NAMESPACE_LABOR3D_BEGIN
class CLAseMesh  : public CLBaseMesh
{
public:
	IMPL_BASE_OBJECT_INTERFACE(CLAseModel);
	CLAseMesh(LaborBaseTextureMgr* pTexMgr , bool bSysMemCopy);
	~CLAseMesh();
public:
	bool load(tMaterialInfo* pMat , t3DObject* pObject , CLAABB& _aabb);
};

class CLAseModel : public CLBaseModel
{
public:
	IMPL_BASE_OBJECT_INTERFACE(CLAseModel);
	CLAseModel(LaborBaseTextureMgr* pTexMgr , bool bSysMemCopy);
	~CLAseModel();
public:
	virtual bool      load(const wchar_t* fileName , const xint8_u* buf , size_t bufLen, unsigned long arg);
protected:
	bool              _loadModelMeshMateril(CLBaseMesh* mesh , XmlParser::xXmlNode* pMeshNode);
	void              _setupMesh( CLBaseMesh* pMesh, XmlParser::xXmlNode* pMeshNode );
	int               _findEmbMesh(const wchar_t* _name);

protected:
	bool              m_bSysMemCopy;
};

NAMESPACE_LABOR3D_END
#endif
